<?php namespace Admin\Controller;
use Hdphp\Controller\Controller;
	
class GoodsController extends CommonController{
	private $gmodel;
	private $cmodel;
	private $bmodel;
	private $smodel;
	private $pmodel;
	private $typemodel;
	private $namodel;
	public function __init(){
		parent::__init();
//		实例化商品模型
		$this->gmodel =new \Common\Model\Goods;
//		实例化品牌模型
		$this->bmodel= new \Common\Model\Brand;
//		实例化分类模型
		$this->cmodel=new \Common\Model\Cate;
//		实例化商品详细模型
		$this->pmodel= new \Common\Model\product;
//		实例化商品属性表
		$this->smodel= new \Common\Model\shopnature;
//		实例化类型表
		$this->typemodel= new \Common\Model\Type;
//		实例化类型属性表
		$this->namodel=new \Common\Model\Nature;
	}
	

	
//	展示商品
	public function index(){
		$gmodel=$this->gmodel->get();
		View::with('gmodel',$gmodel);
		View::make();
	}
	
	
	
//	添加商品
	public function add(){
		if(IS_POST){
			if($this->gmodel->store()) View::success('添加成功',U('index'));
			
//		没有提交成功则报错误类型
			View::error($this->gmodel->getError());
		}		
			
			
//		$detailModel=new \Common\Model\product;
//		$detailModel->create();
//		$detailModel->data['goods_gid']=$gid;
//		//把数组变为字符串，把多张图片压入到数据库
//		$detailModel->data['bigdrawing']=implode('|', Q('post.bigdrawing',array()));
//		$detailModel->add();
		
				
//    	获得所属分类
		$cate=$this->cmodel->get();
		$cate = Data::tree($cate,'cname');
		View::with('cate',$cate);	

//		获得品牌表的数据
		$brand=$this->bmodel->get();
//		分配数据
		View::with('brand',$brand);		
		View::make();
	}
	
	
	
//	异步提交
	public function getTypeAttr(){
		$tid=Q('post.id',0,'intval');
		$data=Db::table('nature')->where("type_tid={$tid}")->get();
		foreach ($data as $k =>$v){
			$data[$k]['nazhi']=explode('|',$v['nazhi']);
		}
		echo json_encode($data);exit;
	}
	
	
//	上传图片
	public function upload(){
	    $file = Upload::path('Upload/Content/' . date('y/m'))->make();
	    if (empty($file)) {
	        $this->ajax(Upload::getError());
	    } else {
	        /** $file内部就是以下这个数组
	            $file = array(
	                0 => array(
		                'path' => 'Upload/Content/15/8/123981239172.jpg'    ,
		                'url' => 'http://localhost/cms_edu/Upload/Content/15/8/123981239172.jpg',
		                'image' => 1
	            ),
	        );**/
	        //上传成功，把上传好的信息返给js
	        $data = $file[0];
	        echo json_encode($data);exit;
	    }
	}
	
	

	
	
//	删除
	public function del(){
//		获得删除商品的id
		$gid=Q('get.gid',0,'intval');
//		删除商品表
		$listing=$this->gmodel->where('gid='.$gid)->pluck('listing');	
		$this->gmodel->where('gid='.$gid)->delete();	
//		删除图片
		if($listing) unlink($listing);
		
		
//		删除商品详情表
		$bigdrawing=$this->pmodel->where('goods_gid='.$gid)->pluck('bigdrawing');
////		把字符串变为数组删除图片
//		$bigdrawing=explode('|',$bigdrawing);
//		foreach ($bigdrawing as $v){
//			if($v) unlink($v);
//		}
		$this->pmodel->where('goods_gid='.$gid)->delete();
			
//		删除商品属性表
		$this->smodel->where('goods_gid='.$gid)->delete();
		
//		成功提示		
		View::success('删除成功！',U('index'));
		View::make();
	}
	
	
	
//	修改
	public function edit(){
//		获得要修改的id
		$gid=Q('get.gid','0','intval');
		if(IS_POST){
			if(!$this->gmodel->edit()) View::error($this->gmodel->getError());
			View::success('编辑成功',U('index'));
		}
//		获得商品的数据
		$gdata=$this->gmodel->where('gid='.$gid)->find('classify_cid');
		
		View::with('gdata',$gdata);
//		获得	旧商品的数据
		$olddata=$this->gmodel->where('gid='.$gid)->find();		
//		获得分类表的数据
		$cdata=$this->cmodel->get();
//		获得品牌表的数据
		$bdata=$this->bmodel->get();
//		获得商品详情表的数据
		$pdata=$this->pmodel->where('goods_gid='.$gid)->find();
//		获得商品属性表的数据	
		$sdata=$this->smodel->join('nature','nid','=','nature_nid')->where('goods_gid='.$gid)->get();


		
//		分配数据
		View::with('olddata',$olddata);
//		分配商品的数据
		View::with('gdata',$gdata);
//		分配分类表的数据
		$cdata=Data::tree($cdata,'cname');
		View::with('cdata',$cdata);	
//		分配品牌表的数据
		View::with('bdata',$bdata);
//		分配商品详细表的数据
		View::with('pdata',$pdata);
		
		
//		//获得商品详细数据
		$goodsDetail=new \Common\Model\Product;
		$DetailData=$goodsDetail->where("goods_gid='{$gid}'")->find();
		$DetailData['bigdrawing']=explode('|', $DetailData['bigdrawing']);
		View::with('DetailData',$DetailData);

//		分配商品属性表的数据
		array_walk($sdata,function(&$v,$k){
			if(!empty($v['nazhi'])){
				$v['nazhi']=explode('|', $v['nazhi']);
			}
		});
		View::with('sdata',$sdata);
//		调用模板
		View::make();
	}
}

















 ?>